/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package VO;

import Entidad.Flujo;
import Entidad.Proyecto;
import Entidad.Usuario;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;

/**
 *
 * @author Giannin
 */
public class ProyectoVO {
    private Integer idproyecto;
    private String nombre;
    private String empresa;
    private Boolean activo;
    private Date fechaInicio;
    private Collection<Usuario> personaCollection;
    private Collection<FlujoVO> flujoCollection;
    private  String descripcion;

    public ProyectoVO() {
    }

    public ProyectoVO(Integer idproyecto) {
        this.idproyecto = idproyecto;
    }

    public ProyectoVO(Integer idproyecto, String nombre, String empresa, Date fechaInicio) {
        this.idproyecto = idproyecto;
        this.nombre = nombre;
        this.empresa = empresa;
        this.fechaInicio = fechaInicio;
    }

    public Integer getIdproyecto() {
        return idproyecto;
    }

    public void setIdproyecto(Integer idproyecto) {
        this.idproyecto = idproyecto;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getEmpresa() {
        return empresa;
    }

    public void setEmpresa(String empresa) {
        this.empresa = empresa;
    }

    public Boolean getActivo() {
        return activo;
    }

    public void setActivo(Boolean activo) {
        this.activo = activo;
    }

    public Date getFechaInicio() {
        return fechaInicio;
    }

    public void setFechaInicio(Date fechaInicio) {
        this.fechaInicio = fechaInicio;
    }

    public Collection<Usuario> getPersonaCollection() {
        return personaCollection;
    }

    public void setPersonaCollection(Collection<Usuario> personaCollection) {
        this.personaCollection = personaCollection;
    }

    public Collection<FlujoVO> getFlujoCollection() {
        return flujoCollection;
    }
    
    public Collection<Flujo> getFlujoCollectionEntity(){
        Collection<Flujo> flujoCollectionEntity = new ArrayList<Flujo>();
        Iterator iterator = flujoCollection.iterator();
        while(iterator.hasNext()){
            FlujoVO vo = (FlujoVO)iterator.next();
            flujoCollectionEntity.add(vo.toEntity());
        }
        return flujoCollectionEntity;
    }

    public void setFlujoCollection(Collection<FlujoVO> flujoCollection) {
        this.flujoCollection = flujoCollection;
    }

    public Proyecto toEntity() {
       Proyecto entity = new Proyecto();
       entity.setIdproyecto(idproyecto);
       entity.setActivo(activo);
       entity.setNombre(nombre);
       entity.setEmpresa(empresa);
       entity.setFechaInicio(fechaInicio);
       entity.setDescripcion(descripcion);
       entity.setUsuarioCollection(personaCollection);
       entity.setFlujoCollection(getFlujoCollectionEntity());
       return entity;
    }

    /**
     * @return the descripcion
     */
    public String getDescripcion() {
        return descripcion;
    }

    /**
     * @param descripcion the descripcion to set
     */
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }
}
